home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / knowhow4 / pxtbview.cpp < prev    next >
C/C++ Source or Header  |  1994-10-10  |  3KB  |  107 lines

  1. #include "pxtbview.h"
  2. #include "mdishell.h"
  3.  
  4.  
  5. BOOL FAR PASCAL _export ColorDlgProc(HWND hDlg, WORD message,
  6.                  WORD wParam, LONG )
  7.     {
  8.     switch(message)
  9.     {
  10.     case WM_INITDIALOG:
  11.         nCurrColor = nColor;
  12.         CheckRadioButton(hDlg, IDRED, IDBLUE, nCurrColor);
  13.         SetFocus(GetDlgItem(hDlg, nCurrColor));
  14.         return TRUE;
  15.     case WM_COMMAND:
  16.         switch(wParam)
  17.         {
  18.         case IDRED:
  19.         case IDGREEN:
  20.         case IDBLUE:
  21.             nCurrColor = wParam;
  22.             CheckRadioButton(hDlg, IDRED, IDBLUE, nCurrColor);
  23.             return TRUE;
  24.         case IDOK:
  25.             nColor = nCurrColor;
  26.             EndDialog(hDlg, TRUE);
  27.             return TRUE;
  28.         case IDCANCEL:
  29.             EndDialog(hDlg, FALSE);
  30.             return TRUE;
  31.         }
  32.     }
  33.     return FALSE;
  34.     }
  35. //////////////////////////
  36. long FAR PASCAL _export RectWndProc(HWND hWnd, WORD message,
  37.                 WORD wParam, LONG lParam)
  38.     {
  39.     HPEN hBrush;
  40.     HDC hDC;
  41.     PAINTSTRUCT ps;
  42.     WORD wColor;
  43.     COLORREF rgbColor;
  44.     RECT rect;
  45.     HMENU hMenu;
  46.  
  47.     switch(message)
  48.     {
  49.  
  50.     case WM_CREATE:
  51.         SetWindowWord(hWnd, 0, nColor);
  52.         return 0;
  53.     case WM_COMMAND:
  54.         switch(wParam)
  55.         {
  56.         case IDM_RED:
  57.         case IDM_GREEN:
  58.         case IDM_BLUE:
  59.             wColor = GetWindowWord(hWnd, 0);
  60.             hMenu = GetMenu(hWndFrame);
  61.             CheckMenuItem(hMenu, wColor, MF_UNCHECKED);
  62.             wColor = wParam;
  63.             CheckMenuItem(hMenu, wColor, MF_CHECKED);
  64.             SetWindowWord(hWnd, 0, wColor);
  65.             InvalidateRect(hWnd, NULL, TRUE);
  66.         }
  67.          return 0;
  68.      case WM_PAINT:
  69.          hDC = BeginPaint(hWnd, &ps);
  70.          wColor = GetWindowWord(hWnd, 0);
  71.          switch(wColor)
  72.          {
  73.          case IDM_RED:
  74.              rgbColor = RGB(255, 0, 0);
  75.              break;
  76.          case IDM_GREEN:
  77.              rgbColor = RGB(0, 255, 0);
  78.              break;
  79.          case IDM_BLUE:
  80.              rgbColor = RGB(0, 0, 255);
  81.              break;
  82.          }
  83.         hBrush = CreateSolidBrush(rgbColor);
  84.         SelectObject(hDC, hBrush);
  85.         GetClientRect(hWnd, &rect);
  86.         Rectangle(hDC, rect.left + 5, rect.top + 5,
  87.                rect.right - 5, rect.bottom - 5);
  88.         DeleteObject(hBrush);
  89.         EndPaint(hWnd, &ps);
  90.         return 0;
  91.     case WM_MDIACTIVATE:
  92.         if(wParam == TRUE)
  93.         SendMessage(hWndClient, WM_MDISETMENU, 0,
  94.             MAKELONG(hMenuRect, hMenuRectWnd));
  95.         wColor = GetWindow(hWnd, 0);
  96.         CheckMenuItem(hMenuRect, wColor,
  97.         wParam ? MF_CHECKED : MF_UNCHECKED);
  98.         if(wParam == FALSE)
  99.         SendMessage(hWndClient, WM_MDISETMENU, 0,
  100.             MAKELONG(hMenuInit, hMenuInitWnd));
  101.         DrawMenuBar(hWndFrame);
  102.         return 0;
  103.     }
  104.     return DefMDIChildProc(hWnd, message, wParam, lParam);
  105.     }
  106. ////////////////////////////
  107.